#ifndef _COMPSITIONSTRINGCLASS_H_
#define _COMPSITIONSTRINGCLASS_H_

class CompositionStringClass
{
private:
	LPCOMPOSITIONSTRING lpCompStr;
	static BOOL isInit;
public:
	CompositionStringClass(LPCOMPOSITIONSTRING lpCompStr);
	VOID SetCompositionString(CONST std::wstring& str);
	CONST LPTSTR GetCompositionString();
	CONST LPTSTR GetResultString();
	TCHAR GetPinYin() CONST;
	UINT GetStroke() CONST;
	VOID SetResultString(CONST std::wstring& str);
	VOID ClearCompStr();
	VOID Initial();
	UINT GetInputLen() CONST;
	BOOL PutCode(CONST std::wstring& str);
	BOOL PutStroke(BYTE biHua);
	BOOL PutPY(TCHAR pinyin);
	BOOL UndoInput();
	VOID OutputCompString();
	USRINPUT GetInput(UINT index) const;
private:
	VOID _toCompStr();
};
#endif
